package com.zzh.partnersys.common.enums;

import lombok.Getter;

/**
 * 聊天类型枚举
 *
 * @author zzh
 */
@Getter
public enum ChatTypeEnum {

    /**
     * 单聊
     */
    SINGLE_CHAT(1, "单聊"),

    /**
     * 群聊
     */
    GROUP_CHAT(2, "群聊");

    private final int code;
    private final String desc;

    ChatTypeEnum(int code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    /**
     * 根据code获取描述
     *
     * @param code 类型代码
     * @return 描述信息
     */
    public static String getDescByCode(int code) {
        for (ChatTypeEnum value : ChatTypeEnum.values()) {
            if (value.code == code) {
                return value.desc;
            }
        }
        return null;
    }

    /**
     * 根据code获取枚举
     *
     * @param code 类型代码
     * @return 枚举值，如果不存在返回null
     */
    public static ChatTypeEnum getByCode(int code) {
        for (ChatTypeEnum value : ChatTypeEnum.values()) {
            if (value.code == code) {
                return value;
            }
        }
        return null;
    }

    /**
     * 根据描述获取code
     *
     * @param desc 描述信息
     * @return 类型代码，如果不存在返回-1
     */
    public static int getCodeByDesc(String desc) {
        for (ChatTypeEnum value : ChatTypeEnum.values()) {
            if (value.desc.equals(desc)) {
                return value.code;
            }
        }
        return -1;
    }
}

